﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BluePortal.Medias.Core;

namespace BluePortal.Encoding.Core.Providers
{
    public interface IVideoUploadService
    {
        /// <summary>
        /// Connection Information for accessing the streaming service
        /// </summary>
        string ProviderOptions { get; set; }

        /// <summary>
        /// Upload the file to the streaming service
        /// </summary>
        /// <param name="vid"></param>
        /// <param name="directory"></param>
        /// <returns></returns>
        void Upload(Video video, string directory);

        /// <summary>
        /// Get the Url of the video from the streaming service
        /// </summary>
        /// <param name="vid"></param>
        /// <returns>video url</returns>
        string GetUrlFromVID(Guid vid);

        /// <summary>
        /// Get the Url of the video from the streaming service other format
        /// </summary>
        /// <param name="vid"></param>
        /// <param name="otherFormat"></param>
        /// <returns>video url</returns>
        string GetUrlFromVID(Guid vid, int formatId);

        /// <summary>
        /// Delete
        /// </summary>
        /// <param name="vid"></param>
        /// <returns></returns>
        void Delete(Guid vid);

    }
}
